1. Field of the Invention
The present invention relates to a control system and a robot serving as a control subject of the control system.
2. Description of the Related Art
The control of a robot having multiple degrees of freedom is a problem of determining at real time multi-dimensional control inputs satisfying multiple restrictions. Conventionally, the problem is degraded to linear problems, and the robot is controlled according to combinations of the linear problems. In recent years, in order to make the robot fulfill more complicated motions, there has been disclosed an approach for determining control variables by formulating the problem to a multi-objective optimization problem to derive solutions thereof directly (refer to Japanese Patent Laid-open No. 2004-306231).
The objective function of the optimization problem takes state vectors of the robot as input values and scalar values as output values. Due to the redundancy in the motions of the robot, the multiple objectives and the multiple restrictions are evaluated by the scalar values; therefore, it is difficult to define the objective function from a convex function to which the solutions can be solved easily. Thereby, the problem should be solved as a non-convex optimization problem generally solved by a search algorithm.
The robot needs to be controlled at real time. On the other hand, there is a trade-off between the maximization of the objective function and the derivation of solutions from the objective function in the optimization problem. Generally, operation time for deriving the solutions must be performed within a control cycle determined by a control objective and a control subject, it is expected to use a high-speed arithmetic processor or the like disposed outside the robot to speed up the arithmetic computation (refer to Japanese Patent Laid-open No. 2006-88331).
However, variables that must be determined for the motions of a robot, namely, the variables in the optimization problem includes not only continuous state variables such as instructions on landing positions for the robot and the like, but also limited discrete state variables such as flags for specifying the types of the motions such as walking, running and the like. The values of the objective function fluctuate discontinuously and greatly when the limited discrete state variables vary.
Thus, efficient search algorithms for determining a subsequent search point on the basis of evaluation values of solution candidates, such as evolutionary algorithm, simulated annealing and the like, cannot be employed. According thereto, only inefficient search approaches, such as full search, random search and the like can be employed to solve the optimization problem containing continuous values (real values) and discrete values. Thereby, it is difficult to derive at real time the solutions necessary for controlling the robot, and consequently, difficult to determine the motions of the robot.
Moreover, when the external arithmetic processor is employed, the control cycle may not be secured due to communication delay or the like. In the control of an inverted pendulum typed mobile object typified by a bipedal walking robot, the delay of the control cycle leads to an incorrigible state such as falling down or the like, thus, it is necessary to provide a system to compensate the communication delay.